﻿using Lrd.Permissions.Core.Entity;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;

namespace Lrd.Permissions.Identity
{
    public abstract class UserLoginBase<TUserKey> : EntityBase<Guid>, ICreatedTime
           where TUserKey : IEquatable<TUserKey>
    {

        protected UserLoginBase()
        {

            CreatedTime = DateTime.Now;
        }

        [DisplayName("创建时间")]
        public DateTime CreatedTime { get; set;}

        /// <summary>
        /// 获取或设置 登录的登录提供程序（例如facebook, google, qq）。
        /// </summary>
        [DisplayName("登录的登录提供程序")]
        public string LoginProvider { get; set; }

        /// <summary>
        /// 获取或设置 第三方登录用户的唯一标识，即用户编号
        /// </summary>
        [DisplayName("第三方用户的唯一标识")]
        public string ProviderKey { get; set; }

        /// <summary>
        /// 获取或设置 第三方登录用户昵称
        /// </summary>
        [DisplayName("第三方用户昵称")]
        public string ProviderDisplayName { get; set; }

        /// <summary>
        /// 获取或设置 头像
        /// </summary>
        [DisplayName("第三方用户头像")]
        public string Avatar { get; set; }



        /// <summary>
        /// 获取或设置 所属用户编号
        /// </summary>
        [DisplayName("用户编号")]
        public TUserKey UserId { get; set; }
    }
}
